package com.tduck.cloud.api;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * @author smalljop
 */
@SpringBootApplication
@EnableAsync
@EnableScheduling
@ComponentScan("com.tduck.cloud.**")
public class TduckReportApiApplication {


    public static void main(String[] args) {
        SpringApplicationBuilder sab = new SpringApplicationBuilder(TduckReportApiApplication.class);
        ApplicationContext ac = sab.run(args);
        System.out.println("V1.0 Beta版 ");
    }


//    //proguard 混淆貌似不能指定混淆的类名在 basePackages 下面类名混淆后唯一，不同包名经常有 a.class，b.class,c.class 之类重复的类名，因此 spring 容器初始化 bean 的时候会报错。
//    public static class UniqueNameGenerator extends AnnotationBeanNameGenerator {
//        /**
//         * 重写buildDefaultBeanName
//         * 其他情况(如自定义BeanName)还是按原来的生成策略,只修改默认(非其他情况)生成的BeanName带上包名
//         */
//        @Override
//        public @NotNull String buildDefaultBeanName(BeanDefinition definition) {
//            //全限定类名
//            return Objects.requireNonNull(definition.getBeanClassName());
//        }
//    }


}
